package com.howard.modules.base.dao;
import java.util.List;
import java.util.Map;

import com.howard.modules.base.paging.Paging;

public interface AppBaseDao<T> {

	Class<T> getDomainClass();

	public T load(String id);

    public T load(int id);
    
    public void update(T t);

    public void merge(T t);

    public void save(T t);
    
    public void saveOrUpdate(T t);

    public void delete(T t);

    public void deleteById(String id);

    public void deleteAll();

    public int count();
    
    public int count(String str, Map<String, String> values);

    /**所有记录*/
    public List<T> getList();
    
    /**所有记录 分页*/
    public List<T> getList(Paging page);
    
    /**根据条件得到的记录*/
    public List<T> getList(String str,Map<String, String> values);
    
    /**根据条件得到的记录  分页*/
    public List<T> getList(String str,Map<String, String> values,Paging page);
}
